﻿@model planerka.DataAccess.ViewModels.projectsViewModel
@using planerka.DataAccess.DataService;
@using planerka.Common.Enums;
@{
    ViewBag.Title = "Проекты";
    long currentUser_ID = new UserService().getCurrentUser().ID;
}
@section HeadContent
{
    <meta name="description" content="Планерка - простая система управления задачами (service desk). Позволяет организовать работу над проектом с привлечением методов проектирования (в том числе и для решения изобретательских задач). В соответствующем разделе вы найдете описание процесса проектирования с использованием методов проектирования и креативных решений. " />
    <meta name="keywords" content="список проектов, управление задачами, список задач, Система управления задачами, менеджер задач, Планерка, обучение методам проектирования, система обслуживания клиентов, экспертная система по управлению проектами, service desk бесплатно, servicedesk" />
}
<span class="resultMessage">@Html.Raw(ViewData["resultMessage"] != null ? ("<span>" + ViewData["resultMessage"] + "</span>") : "")</span> 
<h2>Проекты</h2>

@Html.ActionLink("Создать проект", "CreateProject", null, new { @class = "actionLinkDashed" })

<table class="itemsList">
    @using (Html.BeginForm())
    {

<tr>
    <th>
        <input id="refreshProjectsList" type="submit" value="Обновить" name="confirmButton" />
    </th>
    <th>
        Наименование
    </th>
    <th>
        Администратор
        <br />
        @Html.DropDownList("projects_ownerID_filter", new SelectList(Model.owners, "Value", "Text", Model.ownerID_filter), new { @class = "filterInputs" })
    </th>
    <th>
        Заказчик
        <br />
        @Html.DropDownList("projects_customerID_filter", new SelectList(Model.customers, "Value", "Text", Model.customerID_filter), new { @class = "filterInputs" })
    </th>
    <th>
        Статус
        <br />
       
          @for (int i = 1; i <= 4; i++)
          {
              <div class="itemsListFilter">
              <label>
              @Html.CheckBox("projects_status" + i, Model.projectStatus_filter.Contains(i))
              @(((projectStatuses)i).ToString())
              </label><br />
              </div>
          } 

          
    </th>
    <th>
        Старт план
        <br />
        Старт факт
    </th>
    <th>
        Финиш план
        <br />
        Финиш факт
    </th>
                 
</tr>
    }
@foreach (var _item in Model.projects)
{
    bool rightsEdit = currentUser_ID == _item.owner_ID;
    string rowClass = rightsEdit ? "" : "rowPreview"; 
    
    <tr class="@rowClass">
        <td>
            
            @if (!rightsEdit)
            {
                @Html.ActionLink(" ", "projectDetails", new { id = _item.ID }, new { @class = "view", title = "Просмотр" })
            }
            else
            {
                @Html.ActionLink(" ", "projectDetails", new { id = _item.ID }, new { @class = "edit", title = "Редактировать" })
                @:&nbsp; @Html.ActionLink(" ", "deleteProject", new { id = _item.ID }, new { @class = "delete", title = "Удалить", onclick = "return confirm('действительно хотите удалить проект?');" })
                
            }
            
        </td>
        <td>
            @_item.projectName
        </td>
         <td>
            @Model.userNames.First(p => p.Value == _item.owner_ID.ToString()).Text
        </td>
         <td>
            @if (_item.customer_ID != null)
            { 
                @Model.userNames.First(p => p.Value == _item.customer_ID.ToString()).Text; 
            }
        </td>
        @{
       string projectStatus = "";
       if (Enum.IsDefined(typeof(projectStatuses), _item.projectStatus))
       {
           projectStatus = ((projectStatuses)_item.projectStatus).ToString();
       }

       string projectStatusClass = "projectStatus" + _item.projectStatus;
            }
        <td class="@projectStatusClass">
        
            @projectStatus
        </td>
        <td>
            @Html.Raw(_item.planStart != null ? @"<span class=""datePrefixPlan"">План&nbsp;</span>" + ((DateTime)_item.planStart).ToShortDateString() : "") 
            <br />
            @Html.Raw(_item.factStart != null ? @"<span class=""datePrefixFact"">Факт&nbsp;</span>" + ((DateTime)_item.factStart).ToShortDateString() : "")
        </td>
        <td>
            @Html.Raw(_item.planFinish != null ? @"<span class=""datePrefixPlan"">План&nbsp;</span>" + ((DateTime)_item.planFinish).ToShortDateString() : "")  
            <br />
            @Html.Raw(_item.factFinish != null ? @"<span class=""datePrefixFact"">Факт&nbsp;</span>" + ((DateTime)_item.factFinish).ToShortDateString() : "")
        </td>
    </tr>    

} 
</table>


